package com.test09_抽象类和接口;

import org.junit.Test;

/**
 * 接口定义增强
 */
public class YootkDemo_09 {

    /** 调用接口中的default方法 */
    @Test
    public void test1() {
        IBook9 book = new MathBook9();
        book.create();
        book.read();
    }

    /** 调用接口中的static方法 */
    @Test
    public void test2() {
        IBook9 book = IBook9.getInstance();
        book.read();
    }
}

interface IBook9 {
    public void read();

    /** 接口中定义default方法 */
    public default void create() {
        System.out.println("创建优质图书");
    }

    /** 接口中定义static方法 */
    public static IBook9 getInstance() {
        return new ProgramBook9();
    }
}

class ProgramBook9 implements IBook9 {
    @Override
    public void read() {
        System.out.println("【ProgramBook】学IT哪家强");
    }
}

class MathBook9 implements IBook9 {
    @Override
    public void read() {
        System.out.println("【MathBook】学数学去卖菜");
    }
}
